滲透測試(Penetration Testing)的一個完整流程。滲透測試不是「亂砍主機」,而是模擬攻擊者來找出弱點、驗證防護效果,最後把發現回饋給防護方。整個流程分成幾個階段:偵查(Recon)、掃描與評估、利用(Exploitation)、事後利用(Post-Exploitation)與回報(Reporting)。
一、整體流程概覽
-
偵查(Reconnaissance)
- 目的:蒐集目標資訊(公開資源、子域名、員工、技術棧、公開 API 等)。
- 工具 / 方法:whois、Google dorking、theHarvester、Shodan、公開文件與社交媒體。
- 輸出:資產清單、可能的攻擊面(IP、域名、開放服務)。
-
掃描與弱點評估(Scanning & Enumeration)
- 目的:找出開放 port、運行服務、已知漏洞與暴露的資源。
- 工具 / 方法:Nmap(port/service)、Nikto/OWASP ZAP(Web 掃描)、Nessus/OpenVAS(弱點掃描)。
- 輸出:可利用的目標清單與已知漏洞列表。
-
利用(Exploitation)
- 目的:嘗試利用已知漏洞或錯誤配置取得系統存取(以測試防禦為主)。
- 工具 / 方法:Metasploit、手工利用 PoC、SQLmap(SQLi)、Burp Suite(Web 攻擊)。
- 注意:只對「經授權」環境執行,避免造成服務中斷或資料破壞。
-
事後利用(Post-Exploitation)
- 目的:在取得存取後評估攻擊者能做什麼(橫向移動、提權、蒐集憑證、資料外洩模擬)。
- 常見操作:Privilege escalation、Dump credentials(如 Mimikatz,在有授權情況下)、建立持久性通道(僅作測試紀錄,不留痕於真環境)。
- 輸出:攻擊路徑圖、可達資源清單、風險評估。
-
回報與修補建議(Reporting)
- 目的:把技術發現轉成可執行的改善建議,含風險分級與緊急修補步驟。
- 要點:清楚描述發現、重現步驟、影響範圍、建議修補與緊急緩解措施(mitigation)。
- 格式:摘要(管理層)、技術細節(工程團隊)、附錄(證據與原始輸出)。
二、合法與倫理(絕對重要)
- 滲透測試必須有書面授權(Scope、Allowed IP、Allowed Time、不可觸及的系統清單)。
- 測試前簽 NDA 與授權書,避免法律風險。
- 若非在受控環境,請勿執行任何掃描或利用行為。
三、實務小技巧
- 先做被動偵查(不觸發目標):收集公開資料、子域名、員工 email,再評估風險。
- 把掃描結果分類(High / Medium / Low)並優先處理 High。
- 測試時保留完整日誌(命令、時間、輸出)以便回報與還原。
- 若有可能先在隔離的測試環境重現攻擊與修補流程,降低線上風險。
四、常用工具速覽
- 被動偵查:theHarvester、OSINT 工具、Shodan。
- 掃描與弱點評估:Nmap、Nikto、OWASP ZAP、Nessus、OpenVAS。
- 利用與驗證:Metasploit、sqlmap、Burp Suite。
- 事後分析:Mimikatz(有授權的情況下)、BloodHound(AD 分析)。
小結
滲透測試是一個系統性的流程:先蒐集再掃描、嘗試利用、事後評估,最後回報並修補。做好授權與紀錄,才能用技術幫組織真正提升安全,而不是製造麻煩。